隨著應用程序及其運行的基礎設施的快速變化,現在監控正在發生的事情比以往任何時候都更加重要。使用應用程序性能監控 (APM) 工具有助于提供必要的可見性和洞察力,以解決主動和被動的問題。但是,無論您是在尋找替代品還是沒有適當的監控,您從哪里開始?
APM 市場充斥著大量的監控工具。有前端工具、后端工具、 全棧監控工具。選項似乎幾乎是無限的。您是否只是使用構成 Gartner 魔力象限的工具?也許。但我認為這還不是全部。擁有正確的工具是一個非常重要的決定。選擇錯誤的監控工具的成本和人員成本可能是徹夜排除故障或徹夜難眠的區別 。
在這篇文章中,您將了解在評估 APM 工具時應該尋找的五項關鍵功能。
APM 基礎知識
應用程序性能監控是指收集和分析整個基礎架構中的應用程序使用所產生的數據的過程。APM 工具的主要工作是存儲所有這些數據,并為您提供評估任何應用程序性能所需的可見性。這種可見性應該有助于滿足您的服務水平協議 (SLA),并以較短的平均修復時間 (MTTR) 讓用戶滿意。
基本能力
要尋找的五種功能至少是您正在考慮的任何 APM 工具必須具有的功能,以幫助滿足其工作要求。
1. 高效且可擴展的數據收集
當應用程序使用生成數據時,APM 工具需要能夠收集和存儲所有這些數據。有各種形式的生成數據,如指標和日志,包括結構化和非結構化數據。數據也可能因應用程序中使用的編程語言而異。所有這些都必須在復雜的應用程序架構(如本地和多個云網絡)中完成。您的 APM 工具必須能夠將這些數據收集到其存儲系統中并將其保存在那里,直到您需要或看到它為止。
數據收集和存儲通常是 APM 工具的一個問題。有些可以收集您的所有數據,但可能需要太多時間。其他人僅通過收集和存儲該數據的樣本來解決此問題。但是你失去了大海撈針所需的粒度。APM 工具應該能夠有效地收集和存儲數據,并在需要時大規模 進行。
2. 有效的根本原因分析
當在您的基礎架構上運行的應用程序出現問題時,您需要一種方法來盡快找到此問題的根本原因。您的用戶可能并不關心您和您的團隊需要對情況進行分類并追蹤問題。您需要一個 APM 工具來幫助解析它收集的有關您的應用程序及其基礎架構的所有數據,并準確告訴您問題的原因是什么。至少,該工具應通過指定可能是問題根源的基礎架構組件或代碼行來幫助減少您需要執行的分析。
多年來,根本原因分析一直是所有 APM 工具的一項關鍵要求,但遺憾的是,許多工具都未能滿足要求。對于當今復雜得多的應用程序和服務,這是必須的。一些 APM 工具利用人工智能從收集的數據中開發模式。這些模式有助于該工具更快地識別任何性能下降的原因,并通知您具體細節。變得越來越普遍的是AIOps,它使用 AI 功能自動為您修復某些操作問題。不利用 AI 來幫助 IT 運營的 APM 工具在當今的大數據世界中變得不那么有用了。
3.異常行為檢測
今天的應用程序非常復雜,有時它們運行在更復雜的環境中。您的組織可能仍然在跨公共和私有云基礎架構的新云原生應用程序旁邊運行舊的單體應用程序。查看應用程序架構圖并看到任何不尋常的東西的想法已經過時了。您需要能夠識別以前從未發生過的事情何時發生。這就是異常檢測可以提供幫助的地方。
可以檢測異常行為的 APM 工具有助于大大降低 MTTR。它應該能夠實時收集所有數據,并且當發生以前從未見過的事情時,您可以獲得警報。
依靠配置所有 警報不是一種選擇。您不應考慮任何只能提供這種警報功能的 APM 工具。您需要一個能夠智能地識別與先前數據不一致的數據模式并讓您知道的工具。
這甚至可以擴展到應用程序。它是否檢測到跨基礎架構運行的新應用程序并開始收集有關它們的數據?對于監控現代應用程序的 APM 工具來說,這是當今必須的。
4. 應用事務跟蹤
對于較舊的單體應用程序,監控要簡單得多。有時,應用程序的所有各種組件都在一臺服務器上,代表一個應用程序層。隨著時間的推移,應用程序將在兩個或三個不同的層上運行,例如應用程序和數據庫層。在這些架構中,更容易跟蹤各種應用程序事務請求和事件。
現在,隨著應用程序在各種基礎設施環境中作為微服務、容器和無服務器功能運行,這樣做是不可能的。您需要您的 APM 工具能夠識別應用程序事務并跨應用程序的所有組件對其進行跟蹤,無論其架構是什么或它在您的基礎架構中的什么位置。這有助于在需要時確定特定問題的確切位置。
事務跟蹤 還可以幫助您更好地了解應用程序的工作方式。無論是在開發過程中還是在生產過程中,跟蹤都可以幫助您了解應用程序的內部運作。然后,您可以查看應用程序在代碼或基礎架構中的哪些位置可能會遭受性能下降,這些性能下降可能不會影響用戶,但可能是需要解決的明顯問題。僅考慮提供此關鍵功能的 APM 工具。
5. 業務影響分析
APM 工具歷來更受 IT 專業人員的關注。但隨著向云基礎設施和云原生應用程序的轉變,組織按資源使用付費,擁有更多業務友好的界面是一項關鍵能力。IT 領導者需要一種方法來利用所有這些生成的數據來確定業務受到的影響。
APM 工具在這里很有幫助的一種方式是,當它提供對應用程序正在使用多少云資源的可見性時。APM 工具可以顯示一個應用程序比其他應用程序使用更多的云存儲。這不僅會影響性能,還會增加企業的服務器成本。
APM 工具需要能夠提供為業務分析師量身定制的用戶界面視圖,因此 UI 必須直觀、交互且易于使用。如果需要,許多 IT 人員對命令行完全滿意。但并非所有人都如此,當然也不適用于更具商業頭腦的領導者。APM 工具必須允許團隊構建能夠提供以業務為中心的洞察力的儀表板和報告,以幫助做出有益于業務的應用程序決策。